home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 46 / Amiga Format CD46 (1999-10-20)(Future Publishing)(GB)[!][issue 1999-12].iso / -serious- / misc / catmanged / scripts / cdtoct.ged next >
Text File  |  1999-09-06  |  3KB  |  94 lines

  1. /* 
  2. ** $VER: CDtoCT 1.0 (07.04.99)
  3. ** 
  4. ** Script author: Damir Arh
  5. **
  6. ** (C)1999 Digital Amiga Dream
  7. **
  8. **
  9. ** FUNCTION:
  10. **    ARexx-script for GoldEd.
  11. **    Converts catalog descriptions (*.cd) to catalog translations (*.ct).
  12. **    Doesn't dispose additional comments in the description files.
  13. **
  14. ** USAGE:
  15. **    CDtoCT
  16. **
  17. ** $HISTORY:
  18. **
  19. ** 07.04.99 : 1.0 : First release
  20. */
  21.  
  22. OPTIONS RESULTS                             /* enable return codes     */
  23.  
  24. if (LEFT(ADDRESS(), 6) ~= "GOLDED") then    /* not started by GoldEd ? */
  25.     address 'GOLDED.1'
  26.  
  27. 'LOCK CURRENT RELEASE=4'                    /* lock GUI, gain access   */
  28.  
  29. if (RC ~= 0) then
  30.     exit
  31.  
  32. OPTIONS FAILAT 6                            /* ignore warnings         */
  33.  
  34. SIGNAL ON SYNTAX                            /* ensure clean exit       */
  35.  
  36. /* ------------------------ INSERT YOUR CODE HERE: ------------------- */
  37.  
  38. 'GOTO LINE=1 COLUMN=1'            /* move to the beginning of the file */
  39.  
  40. 'QUERY FILE VAR=Filename'    /* get the filename, remove the extension */
  41. Filename = left(Filename,lastpos('.',Filename))
  42.  
  43. 'TEXT T=";" CR'                          /* some info on the converter */
  44. 'TEXT T="; ' || Filename || 'catalog" CR'
  45. 'TEXT T=";" CR'
  46. 'TEXT T="; catalog translation file created by CDtoCT" CR'
  47. 'TEXT T="; an ARexx script for GoldEd by Damir Arh" CR'
  48. 'TEXT T="; (c)1999 Digital Amiga Dream" CR'
  49. 'TEXT T=";" CR'
  50.                                                              /* header */
  51. 'TEXT T="## version $VER: ' || Filename || 'catalog 0.0 (  .  .  )" CR'
  52. 'TEXT T="## codeset 0" CR'
  53. 'TEXT T="## language " CR'
  54.  
  55. 'QUERY LINES VAR=NumLines'                  /* get the number of lines */
  56. mode = 'comment'                         /* looking for the const name */
  57. do until (NumLines = CurrLine)
  58.     'QUERY CODE VAR=CurrChar'
  59.     'QUERY LINE VAR=CurrLine'
  60.     if mode = 'comment' then do               /* found the const name? */
  61.         if (CurrChar ~= c2d(';')) then do
  62.             'FIND STRING="(" NEXT QUIET'
  63.             'LEFT'
  64.             'DELETE EOL'                          /* remove parameters */
  65.             'FIRST'
  66.             mode = 'string'           /* looking for the end of string */
  67.         end
  68.     end
  69.     else do
  70.         if (CurrChar = c2d(';')) then do             /* end of string? */
  71.             mode = 'comment'     /* looking for const name from now on */
  72.         end
  73.     end
  74.     'DOWN'
  75. end
  76.  
  77. 'QUERY DOC VAR=Filename'             /* change the filename at the end */
  78. Filename = left(Filename,lastpos('.',Filename))
  79. 'NAME NEW=' || Filename || 'ct'
  80.  
  81. /* ---------------------------- END OF YOUR CODE --------------------- */
  82.  
  83. 'UNLOCK' /* VERY important: unlock GUI */
  84.  
  85. exit
  86.  
  87. SYNTAX:
  88.  
  89. SAY "Sorry, error line" SIGL ":" ERRORTEXT(RC) ":-("
  90.  
  91. 'UNLOCK'
  92.  
  93. exit
  94.